/*
 * lookup.h
 *
 *  Created on: Oct 30, 2013
 *      Author: jiang
 */

#ifndef LOOKUP_H_
#define LOOKUP_H_

#include <stdint.h>

//typedef khash_t(32) table_t;
typedef	uint32_t table_t;

typedef uint32_t position_t;

typedef uint32_t kmer_t;

typedef struct
{
	position_t first;
	position_t second;
}twoPositions_t;

//typedef	twoPositions_t table_t;

#ifdef __cplusplus
extern "C" {
#endif

int initTableArray1(table_t **kmer_position_table,uint8_t **kmerStrandIndicator);
void putValueArray1(table_t *kmer_position_table, kmer_t kmer, position_t pos);
position_t getValueArray1(table_t *kmer_position_table,kmer_t kmer);
int isEmptyArray1(table_t *kmer_position_table,kmer_t kmer);
int isUniqueArray1(table_t *kmer_position_table,kmer_t kmer);
int isNotuniqueArray1(table_t *kmer_position_table,kmer_t kmer);

/*
int initTableArray2(table_t **kmer_position_table);
twoPositions_t getValueArray2(table_t *kmer_position_table,kmer_t kmer);
void putValueArray2(table_t *kmer_position_table, kmer_t kmer, position_t  pos);
int isEmptyArray2(table_t *kmer_position_table,kmer_t kmer);
int hasOneArray2(table_t *kmer_position_table, kmer_t kmer);
int hasTwoArray2(table_t *kmer_position_table, kmer_t kmer);
int isNotuniqueArray2(table_t *kmer_position_table,kmer_t kmer);
int isUniqueArray2(table_t *kmer_position_table,kmer_t kmer);
*/

#ifdef __cplusplus
}
#endif

#endif /* LOOKUP_H_ */
